#ifndef __ULTRASONIC_H__
#define __ULTRASONIC_H__

#include "Config.h"
#include "RTX51TNY.h"
#include "Exti.h"
#include "Timer.h"
#include "NVIC.h" 

#define ULTRA_TRIG P47
#define ULTRA_ECHO P33

#define ULTRASONIC_GPIO()   P4M1 &= ~0x80; P4M0 &= ~0x80;   ULTRA_TRIG = 0; \
                            P3M1 |= 0x08;  P3M1 &= ~0x08                   

#define TimeToMS(time)      ((time / 1000.0)  * 12 *  41.67 / 1000)
    
// 测距初始化
void Ultrasonic_init(void);


u8 Ultrasonic_get_distance(float *distance);

// 返回楼层 
// 返回值  测距是否正常工作
// 参数   int* floor   返回 当前楼层
//        u8  status   电梯的运行状态(向上↑还是向下↓)
u8 Ultrasonic_get_floor(u8 *floor, u8 status);

#endif